前一天說到了GitHub flow 以及Branch的策略,今天就基於前一日的想法,來把設計給實作在Azure DevOps中。
前面有說到,我們有兩個Branch會面對不同的環境,分別是main會面對生產環境,dev則是會面對我們的測試環境。因此在Azure DevOps的設定上,就需要幫這兩個Branch建立保護策略,簡單說就是沒有人可以直接在這兩個Branch 上面進行Commit and Push,一定要經過Pull Request的方式審查後,才可以更改這兩個Branch。
這個Branch 是依照各專案的各個Branch 進行設定的,要先到專案的設定中->點選Repositories->Repo->Policies->Branch Policies。
這裡就要一條條簡單敘述一下Branch Policies 的設定了,首先先從main Branch的思維開始,因為是面對營運環境,因此main的head就代表的就是現在營運環境伺服器上面的版本,所以對於這個Branch 的保護,可以視為金融業的程式異動過版作業,相對的要規定的會不少。
另外,在 Automatically included reviewers的這個功能下,由於main是面對營運環境的,因此強制設定該科科長作為審核人。這表示在PR的時候,科長會被自動帶入一定要進行審核的動作。
Develop Branch相對來說比較寬鬆,畢竟這是面對測試環境的,我們僅有要求:
所有的變更一定有所本,只是是來自於自己心中希望改善的事項,或來自他人需求或建議。